/**
*  \file keytime.c
*
*  \brief Calculate time a signal was TRUE or FALSE.
*
*  \author Michael J. Hohmann  <michael.hohmann@linde-mh.de>
*
*
*/

/*===============================================[ private includes  ]================================================*/
#include "keytime.h"
#include "../assertor/assertor.h"
#include "../pal/pal_mem.h"
#include "../saturated/sinc.h"
#include "../saturated/sdec.h"
/*===============================================[ private defines   ]================================================*/

/*===============================================[ private datatypes ]================================================*/

/*===============================================[ private variables ]================================================*/

/*===============================================[ private functions ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/

S16 keytime_s16( S16 *p_time, BO state )
{
	*p_time = keytime( state, *p_time );
	return *p_time;
}


S16 keytime( BO state, S16 state_time )
{	
   S16 rv=0;

   if( state )
   {
      if( state_time >=0 )
      {
         rv = sinc_s16(state_time);
      }
      else
      {
         rv=1;
      }
   }
   else
   {
      if( state_time <= 0)
      {
         rv = sdec_s16( state_time);
      }
      else
      {
         rv = -1;
      }
   }
   return rv;
}

/*===============================================[ private functions ]================================================*/


/***********************************************************************************************************************
*                             Copyright 2018 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
